created the logging deserializing abstraction