add keep alive logic