introduced reader from file