hw3-parts 1,2,3
some changes - hw3