add type parameter to view function