synchronization structure (without comments as of now)