remove need for mem_fun