Complete rewrite using @jeffkistler and @glenrobertson serializer