using generic view to save some work