base application structure