changes mainly on the user instruction