first draft at app infrastructure