starting hooks implementation