I added a bunch of new code