Restructure io