all done, need to clean up code