clients add some funcs for register