some work on file.py, more than just file handling here right now