ok fair enough until we refactor the io module