added assignment 3 stuff