Add enhance factory