register logic update