add tip function