add case class (sortof) support