add new changes by jemo