working out task constraint solving