adding block reader and tests