sync (fully functional)