tried to make all the readers init-compliant