using synchronous execution