I think I might be done, but need to test more