switch to generic class based views
add missing required_login decorators