update exam functions
Merge branch 'exam'