Revamping some of the io wrappers