commandinfo is back to being a struct. I'll decide eventually