added fire logic