assignment1 almost done