component first draft