fixed up coloring some more.  Added in support for preconditions.