remove the dependency of List::Util