Implement some more of the semantic build