nathan's modifications per assignment