1 thing, the confirm bit is pointless, as it just pm's the person the code to use before, it would be better implemented in a email.