link method now support sync and async method
new build