fixed bugs with visit and changes some objects update function behavior