This is the hypothesis solver