first implementation of read method