Added negate, assert. Some various cleanup.