refactor enhancements