add resgister function