initial commit: 4 java files