v.1.0.1.
first refactoring
v.1.0.1.2
light refactoring