some much needed view handling redesign