organize app architecture; add number and upper