completed app with styling