forced to be synchronous