implemented generic class views