added copy method in message so can be treated as case class