case class metaclass
improvemnts/fixes