added more useful functions & filled out a few