refactored ok