Add map classes for types
Reorder constructors for consistency
Add tests for map classes