complete restructure of application