use pull instead of sync