reduced some declaration visibilities, and starting on javadoc