still learning scala implicits