improve draw method, new thread for it