Remodeled.
refactoring
refactor complete
More tests added.
Added help test.