for synchronous
for synchronous