support for taking tests on a particular topic && various fixes and optimizations