add smoke gen