customized view functions