added explicit registration function