clean up the code.
There is still several question to be asked for this function. It does not look like the kinetic reactions will work with it.
still use my prefered while structure.