build struct complete