Add new assertions and shouldFail system. Also major cleanup.