add unified interface for accessing file system

**please review**
done: #1082