added lots of things derp