added a bunch of stuff~~