added a lot of things & stuff