Preconditions should be Public