transition-handling logic in place