Separate IO and Util