additional JUnit tests; documentation; code style