removed Scalar::Util dependency