name BarApp_t's struct so we can forward declare it
split download code out to seperate file