cleaned up map inheritence