added a bunch of new stuff