complex view re-arragment