shifting things around based on cleanups in the spec, simplified a lot