add io and fix gitignore