Feature/feature refactoring