Update on implementation

Added Javadoc, and improved some classes