Added smoking function and smoking function XYZ