Add javadoc comments
Add license header