added version management and tests, generated javadoc