add synced-promise