use less confusing structure for views