move some function from private to public