refactoring to 0.4.2