hopefully fixed IO