modified for new read api