building out the architecture