added Either as a dep
implemented Left and Right projections