move some function