Begun lab 3 impl