added a bunch of stuffs