add support for shot data and better resource loading