First, the atmospheric neutrino analysis was completed and presented at the ICRC in Poland. This consisted of an unfolded neutrino energy spectrum and a calculation of limits on diffuse E^-2 and charm contributions based on several methods: full likelihood, confidence belt construction around the unfolded spectrum, and model rejection factor. To unfold the neutrino spectrum I wrote my own program that performs the unfolding and a careful calculation of the statistical uncertainties (including those in the unfolding matrix) that show almost no dependence on the amount of regularization. This analysis did not go forward to a publication (other than conference proceedings) since it became obvious that the simulation does not match the data well. Thus, the next efforts were concentrated on improving the simulation of the IceCube detector. These consist of two major parts, which go somewhat in parallel. First, writing of the photon propagation code (ppc), which simulates photon propagation directly (i.e., without pre-tabulated PDFs). Several version of the program were written (in C++, C for CUDA, and even Assembly), and demonstrate perfect agreement with each other. Despite initial reservations from our colleagues that the program would be too slow for any meaningful simulation production, it turned out, that, one could actually simulate one day of detector data in about one day of simulation on a small cluster of computers with GPUs (graphics processing units). With this, several major steps were achieved: 1. it was proven that the previously used software (photonics) performs as expected (without major flaws, which have been hinted from time to time), with only some smearing of the depth structure of the light in the detector. (Some smearing was expected because the interpolation of PDFs between the tabulated values.) 2. For the first time it was possible to introduce the 3-dimensional structure of the ice layers, as measured with the dust loggers. 3. Various other improvements and rapid development of features was possible: e.g., full implementation of the angular and longitudinal light profiles around the cascades. 4. The same program is used to simulate the in-situ light sources (i.e., flashers), which led to a rapid development of a new method to measure the ice properties from the existing flasher data sets. This led to the second part: development of the new ice model, dubbed "SPICE" (South Pole ICE), which dramatically improved the agreement between data and simulation in a wide range of variable distributions. The figure shows the level of correlation between the scattering measured within the detector and the average dust log of the dust logger data. Such a plot showed a much poorer correlation with the previously used ice model, which led to a dismissal of the dust logger data. For the first time the dust logger data can be incorporated in a meaningful way into the model of ice around the IceCube detector.