list reader implemented