Add Javadoc and prepare for API

Add Javadoc and prepare for API