component build better