add intelligent movement