add architecture documentation