* Move double map to support and generalize it * add docs back * reduces the number of required allocations