updated with text from homework assignment