Base app with setup