Finished updating functionality. Working! Now must add more tests.