Refactoring: putting everything in packages
Added Java client