try with queue/thread