added interface and javadocs
refactored test packages