adds compound type and build spec
impl compound