read -> select -> read