revised according to Kamal