fixing get changes
adding IO
refactoring