1. An apparatus comprising: a memory comprising a learning database and a user database; the learning database comprising a set of details to be learned; and the user database comprising a user profile, wherein: the user profile comprises a weighing vector of weighing parameters ( 670 ) corresponding to the set of details; and the apparatus further comprises a processor configured to test a user for particular details in an order that is at least partly based on the weighing parameters; wherein the processor is further configured to adjust the weighing parameter corresponding to a given detail depending on whether the user has passed the test.