allow the specification of known classes to be serialized
remove match and use getOrElse
add catch to slight chance of future completed twice