maybe it would make sense to generate equals / hashcode?