add changes by Ivo