learn and play courtesy cloned from django-lms