add (WIP): add more javadoc