new read functions are working