Moved ADD to take advantage of as much caching as possible