adding a bunch of functions