before get into synchornization problem
merged