Refactored, so that attenuation calculating and interpolating is now separate