refactor io