move some functions