added a bunch of different stuff