Refactored model.