changed operators to avoid conflict with lens
defined all operators to infixr 2