create refactored