Added async transition function