task2.1 and 2.2 aredone