restructure source for sbt build