modified assignment 3, added alternate assignment 3