added a type to represent cardinal directions
started to add GUI stuff!
a bunch of cosmetic changes that aren't quite there yet