check &func too