fix: don't expose unreader outside package