Finish refactoring with serializer
Refactoring ASM
Add codeclimate test coverage