sync should return a value (not void)