Lots of stuff fixed and added.
foo