Use Generator instead of Component