constraints and search spaces