some view inheritance and state management setup