registration functioning