refactored clf