Designing problem-based learning for student success