Smart version (12/30)

Smart version