mutable `__init__` param fixed.
blah blah implementation started
generic changes, process refactoring, `rotate` implementation and tests.