added Reader.Load to load data into struct
refactored