add bubble generation