added Either solutions and tests