complete app restructure