fixed bug where students get more than requested on cache hits
merge with master