added a bunch of stuff