adds java boilerplate classes; needs interfaces