Revising and restructuring.
Change unique key and total length definition.
Separete parser from protocol definition into new module.