experimental; about to try to add support for reading any file or stream