Cleanup + integrate both Sync and Async mode