added hooking