simple cross platform IOHandler system