expanded spec, it is still incomplete