Added some random generation of missing locations
cleaned up the code
added a script to analyze the map files
added some documentation