didi a bunch of funcitons