Added IO, Streams (and refactoring)