refactored features