fixed random hooking types by using special hooks