Added IO classes, refactored Log and FileStream