Completely refactor app design