do not manifest
simpler using case class
case class allows match to extract data