update position, add slide method