Updated factorial