change the start up logic to wait until first client request comes in