Minimal prototype using generators