change reader interface to object
rename functions