make component composition more sensible