added support external movement and show/hide