added SimpleObjectReader to hide the boring loop