add smarter