moved file reading logic to this package from msvr