build the architecture