trying to stay closer to the spec