Updating to lab 3 and adding tests

Closes #2