smart algorithms