allow multiple sequential calls of handle()