reader interface