sync: add basic functions