broke out lib.scala into a bunch of files