File class completed, now using exceptions for everything but configuration