lots of improvements, symmetric as well as nonsymmetric da's