using components for build