component's first draft