self-generators