cmp: add component definition