factory method existance check