counting homomorphisms