most things working except file I/O