new SyncAgentBase class