changed from domains to extended value functions