add architecture and flow