open, close, read, write, lseek, and read implemented decently