cleaned up class based views using generic views