cleaned up fire logic