register activation work
refactoring