Add Async API & keep the file path-driven API