Add JavaDoc and Comments