We present two main developments within the ray tracing package McXtrace in the recent timespan; The Union concept for building complex sample geometries which may also include sample environments, and the next generation code generator (nicknamed 3.0) which includes the option for GPU-acceleration through the OpenACC programming standard. Union is a concept which allows beamline simulation users to define enclosed regions in which the regular sequential nature of McXtrace simulation is replaced by a scattering network. Within the network any object can scatter towards any other object. Through a pre-analysis of the scattering the this may be done without excessive computational effort-i.e. it is still practical on a standard desktop computer without high-end specs. We will discuss our result results with this concept and how it can be used to, for instance, assess background contributions. Using the OpenACC programming paradigm, the simulation code generated by the new code generator, may now harness the power of novel GPU-cards for faster ray tracing, with fairly non-invasive changes to the user facing code. We will present results on where GPUs may be benefited from and what the user is required to do, in order to enjoy significant speed-ups.