guard against undefined