revise register_custom_path_provider interface