enhance : refs that will be guarded are defined with regular expression