use hook_boot instead of hook_init