problem 1 mostly done