callback loop, problem is exit causes hang
clean up