lab2.1.2 almost done