added lots of updates