implemented generic views