introduce handling registering and logging