fleshing out the rest of the domain functions