register and unit test