My version. Please don't break everything.