#13 add hook_user support