Final navigation class

Added java docs, comments and generally cleaned up the code