Java documentation
Code comments and clean up