add explosion test
and fix some of the bugs detected by the test