altered read method