moving to io base package, cleaning up violations