added lots of stuff.