facilitate some dependency, and improved documentation with filename