Consoleless version with message boxes