- code clean up
  * unit tests
  * javadoc