added def:homomorphism