Add FileReader

and ptr was changed to shared_ptr