random direction implemented