Started on Construct.
About to split Construct Inner out to a separate function