Refactor io to separate process. Add tests