moved reader into new class