refactored challenge models to be more efficient