refactoring features, commit for sanity