add sleep() in callback