added lots of new things, not gonna list em