functional Each component