BUG : add make_source to OpaqueFile so that it will be non-abstract
BUG : maybe fixed basic code

 - still untested