i/o and solver