reorganization of the whole app