Maybe added some good features.  Will debug/test later.