major cleanup + app structure