modify to test synchronize and asynchronize way