All the things!

Almost all of the functionality is now present. Still a bit of a WIP
though.
Still largely dependend on the quality of the map.