Removes extra private restriction
Adds domain hypothesis
Implements domain hypotheses