added lots of new things