better die-setup with helper function