Still working on code contracts stuff...

Too much code, not enough time.