new function organisation for register