adapted from open source edx platform for ouwa.org