Add architecture document