Abstract: An apparatus with a memory that has a learning database and a user database. The learning database has a set of details to be learned and the user database has a user profile. The user profile has a weighing vector of weighing parameters corresponding to the set of details. The apparatus further has a processor configured to test a user for particular details in an order that is at least partly based on the weighing parameters. The processor is further configured to adjust the weighing parameter corresponding to a given detail depending on whether the user has passed the test. Also corresponding methods and computer programs are disclosed.