added a firing function