sync wrapper