partially implementing base template