refactor blib (support file's version)