registration semi functional