boilerplate view code