Major update. Fleshing out app.