First hackish but functional I/O