adding components and interfaces for Sync
adding interfaces for sync