add initial conditions generator + mechanisms for choosing