Working on better file I/O and stuff