Separated reader to parser