Complited 2.1.b and 2.2