moving registration function