boosted speed by changing add atom to be more like sum