lab 4. Closes #4