Copied and edited more methods from group additive kinetics.