updated based on the recommendaton of Uri Bruck