fix UB bug