use multi thread to optimize performence