finished assignment 4 completely