General Application Architecture - first draft