read from cached items more smartlyer