correct usage of Precondition