implemented generic method instantiation