first submission for assignment 4 (may still have errors)
initial commit of assignment 5