changes to Either