Initial import of assignment 3