basic application architecture