sketch a subset<T> and call it for cmap. Add subset to cmap, albeit not working even for the msot basic case just yet