Major modification, taking into account may suggestions, esp. Matt. Thx!