Refactoring(add extension methods with deserialization)