this should return the Either type above, right?