change io to readers to avoid namespace conflict