reorganized the segcache mapper to use the super class's functions
fixed all the subtyping issues