real java code created
still refactoring