modified according to the user manual