refactor io page