refactoring for 1.4.0 - initial commit