set direction is async