added classes and interfaces as proposed in Scala boilerplate