fixed synchronous issue