read from disk compiles, untested