updated generic view