upper on add & optimization