add a clever solver