working on a more strong typed model of the map format