Updated to latest source from the course homepage