Added preconditions on check_preconditions method