basic style and app architecture