move shared functionality into package.scala