Many fixes and improvements.  All spec tests pass except one.
Many fixes and improvements.  All spec tests pass except one.