works quite well with random movement