add run and fire method