add javadoc
* refactoring
* add javadocs
* add listof/setof