add gard when result undefined