Lab 12 - Finished part 1 functionality