keep alive and hook