add some more functions and clean up a few things