add keepAlive method