synchronous read