implement always-idle correctly