rename function for prevent conflict