0.0.2 refactoring everything