added a whole bunch of shit with testing