refactored the java compiler, getting ready for some tests for the actual thing