Finished homework. Still working on bonus tests.