added application architecture