wired in register function