Deserializer refactoring part one